/*
File:		Particle.h
Author:		Skyler Suzuki
Purpose:	CParticle class handles the current particle information
*/

#pragma once
#include "../../SGD_Wrappers/SGD_Math.h"
#include "Emitter.h"


class CParticle
{
public:
	CParticle(void);
	~CParticle(void);

	// Mutators
	void			SetCurrLife(float nCurrLife);
	void			SetMaxLife(float nMaxLife);
	void			SetCurrPositionX(float nCurrPositionX);
	void			SetCurrPositionY(float nCurrPositionY);
	void			SetCurrRotation(float fCurrRotation);
	void			SetCurrScale(float fCurrScale);
	void			SetCurrVelocity(float currX, float currY);
	void			SetParticleColor(int cA, int cR, int cG, int cB);

	// Accessors
	float			GetCurrLife(void) const;
	float			GetMaxLife(void) const;
	float			GetCurrPositionX(void) const;
	float			GetCurrPositionY(void) const;
	float			GetCurrRotation(void) const;
	float			GetCurrScale(void) const;
	tVector2D		GetCurrVelocity(void) const;
	particleColor	GetCurrParticlColor(void) const;


private:
	float			m_fCurrLife;
	float			m_fMaxLife;
	float			m_fCurrPositionX;
	float			m_fCurrPositionY;
	float			m_fCurrRotation;
	float			m_fCurrScale;
	tVector2D		m_vCurrVelocity;
	particleColor	m_pCCurrColor;
};

